package com.movie.service;

import com.movie.entity.Review;
import java.util.List;
import java.util.Map;

public interface ReviewService {
    // 根据电影ID获取评论
    List<Review> getReviewsByMovieId(Long movieId);

    // 创建评论 (确保实现类中有防重逻辑)
    Review createReview(Review review);

    // 删除评论 (管理员或用户自己)
    boolean deleteReview(Long id, Long currentUserId);

    // 获取用户的所有评论
    List<Review> getReviewsByUserId(Long userId);

    // 分页获取所有评论 (管理员用)
    Map<String, Object> getAllReviewsPaged(int page, int size, String movieTitle, String username, Integer rating);

    // 添加更新评论的方法签名
    Review updateReview(Long reviewId, Review reviewDetails, Long currentUserId);

    // 新增：管理员删除评论的方法签名
    boolean deleteReviewAsAdmin(Long id);
} 